package echo.exception;

public class BusinessException extends RuntimeException {
  public final ErrorTyle errorTyle;
    public BusinessException(ErrorTyle errorTyle) {
        super(errorTyle.getMessage());
        this.errorTyle = errorTyle;
    }
public ErrorTyle getErrorCode(){
        return errorTyle;
}
    public enum ErrorTyle{
        NO_MAIN_DISH("订单必须包含至少一个主食"),
        LEST_ORDER("订单最少有一样商品"),
        TOO_MANY_ITEMS("订单中商品数量不能超过5件"),
        ORDER_OVER_TIME("订单超时"),
        USER_NOT_VIP("用户不是VIP不能享受折扣"),
            DESSERT_ALONE("甜品不能单独购买，必须搭配主食"),
        ICED_COFFEE_NOT_ALLOWED_AFTER_3PM("冰咖啡在下午3点后不能售卖"),
            ICED_COFFEE_LOD("冰咖啡已经下架"),
        MODIFY_FORBIDDEN("禁止修改"),
        ITEM_INVALID("项目无效"),
        Invalid_MODIFY_TYPE("无效的修改类型"),
        ORDER_NOT_FOUND("订单不存在"),
        INSUFFICIENT_BALANCE("用户账户余额不足，无法完成支付"),
        OUT_OF_STOCK("商品库存不足，无法满足订单数量"),
        PRODUCT_NOT_AVAILABLE("商品已下架，无法购买"),
        INVALID_PARAMETER("参数不能为空"),
        ORDER_ALREADY_PROCESSED("订单已经处理过，不能重复提交"),
        SYSTEM_MAINTENANCE("系统正在维护中，请稍后再试"),
        UNKNOWN_MODIFICATION_ACTION("未知的修改操作");
    private final String message;
    ErrorTyle(String message) {
        this.message = message;
    }
    public String getMessage() {
        return message;
    }

}
}
